//
//  Date+Extension.swift
//  Weibo22
//
//  Created by Apple on 16/12/7.
//  Copyright © 2016年 Apple. All rights reserved.
//

import UIKit

extension Date {
    //  根据发微博时间对象转成时间字符串
    var sinaTimeString: String {
        
        let dt = DateFormatter()
        if isThisYear(createAt: self) {
            print("是今年")
            //  创建日历对象
            let calendar = Calendar.current
            if calendar.isDateInToday(self) {
                //  是今天
                //  计算发微博时间距离现在时间差多少秒
                //createAt.timeIntervalSince(xx)
                let timeInterval = abs(self.timeIntervalSinceNow)
                if timeInterval < 60 {
                    //  1分钟之前
                    return "刚刚"
                } else if timeInterval < 3600 {
                    //  1小时之前
                    let result = Int(timeInterval) / 60
                    return "\(result)分钟前"
                } else {
                    //  其它
                    let result = Int(timeInterval) / 3600
                    return "\(result)小时前"
                }
                
                
                
                
                
            } else if calendar.isDateInYesterday(self) {
                //  是昨天
                dt.dateFormat = "昨天 HH:mm"
            } else {
                //  其它
                dt.dateFormat = "MM-dd HH:mm"
            }
            
            
            
        } else {
            print("不是今年")
            dt.dateFormat = "yyyy-MM-dd HH:mm"
        }
        return dt.string(from: self)
        
        
    }
    //  判断发微博时间和当前时间是否是同一年
    private func isThisYear(createAt: Date) -> Bool {
        
        let dt = DateFormatter()
        dt.dateFormat = "yyyy"
        //  获取发微博时间的年份
        let createAtYear = dt.string(from: createAt)
        //  当前时间的年份
        let currentYear = dt.string(from: Date())
        
        return createAtYear == currentYear
        
    }
    
    
    

}
